package com.autumn.cloud.transaction;

import java.lang.annotation.Documented;
import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

import org.springframework.context.annotation.Import;

/**
 * 启用分布式(云)事务
 * <p>
 * 采用基础消息队列(MQ)的分布式事务，即用预占、确认、取消 TCC(Try-Confirm-Cancel) 模式
 * </p>
 * 
 * <pre>
 * 实现最终一致性，并提供预占及时检查，确认最终结果和回滚撤销
 * </pre>
 * 
 * @author 老码农
 *
 *         2018-02-13 11:32:53
 */
@Retention(RetentionPolicy.RUNTIME)
@Target(ElementType.TYPE)
@Documented
@Import({ AutumnCloudTransactionDefinitionRegister.class })
public @interface EnableAutumnCloudTransaction {

}
